사용자가 홈페이지를 누비는 동안, 뒷편에서는 인증 정보를 최대한 안전하면서도 사용자에게 불편이 없도록 유지시켜야 하는 임무가 있습니다.
정보를 대충 아무 곳에나 두면 보안 상 문제가 일어나고, 인증 유지 과정이 겉으로 드러나면 사용자 경험 상 좋지 않겠지요.
따라서, 우리는 인증 정보를 최대한 fresh한 상태로 유지하되 사용자가 알아채지 못하도록 갱신되도록 코드를 작성해야 합니다.
그렇다면, 이러한 시나리오에 필요한 구성은 어떤 것이 있을까요?
- 인증 정보
- 인증 정보를 담을 저장소
- 인증 갱신 과정
- 인증 권한 확인(및 식별)
기본적으로 위의 네 가지를 먼저 떠올릴 수 있습니다. 좀 더 깊이 살펴볼까요?
인증 정보
- 어떤 정보를 포함해야 할까요?
- 특정 권한을 가진 사용자임을 입증하기에 충분할까요?
- 정보가 드러나도 보안 상 안전할까요?
인증 정보를 담을 저장소
- 어떤 저장소에 저장해야 할까요?
- 해당 저장소에 접근할 수 있는 대상은 어떤 게 있나요?
- 제 3자 탈취 이슈에 안전한가요?
인증 갱신 과정
- 갱신은 어디서 이뤄져야 할까요?
- 인증 정보가 갱신되면, 현재 권한이 필요한 루틴이나 정보들은 어떻게 해야 할까요?
- 갱신 주기는 어느 정도로 잡아야 할까요?
인증 권한 확인(및 식별)
- 해당 권한을 확인하는 주체는 어디일까요?